1. Technical Field of the Invention
This invention pertains to IP packet filtering. More specifically, it relates to a use of small, optimized sequences of binary 6-tuples representing filter rules to achieve very fast IP packet filtering.
2. Background Art
Internet protocol (IP) network address translation (NAT) and IP filtering are functions which provide firewall-type capability to an Internet gateway system. In one specific system, this is accomplished by providing means for the system administrator to specify specific NAT and filtering rules via an operational navigator graphical user interface (GUI).
IP packet filtering is the process of checking each Internet protocol (IP) packet that is going to be sent from or has just arrived at a gateway system, or node, in a communications network, and based upon that check of making a decision. The decision is (typically, and insofar as it relates to the preferred embodiment of this invention) whether the packet should be discarded or allowed to continue. These are termed the `deny` and `permit` actions. IP filtering is widely used in Internet firewall systems, by independent service providers (ISPs) and organizations connected to the Internet.
Filter rules are most commonly an ordered list of rules, processed sequentially from top to bottom (order is specified by the system administrator). Each rule permits a certain kind of IP traffic. Processing for an IP packet continues until the packet is permitted, explicitly denied, or there are no more rules, in which case it is denied. Usually a number of filter rules must be written for each protocol to be permitted.
It is important the IP filtering actions be particularly efficient and very fast because of the huge volume of IP packets a typical gateway system will handle each day, and because of the fairly large number of filter rules that might have to be processed for each IP packet. Typically, each IP packet that flows through the system must be processed by all the filter rules. A moderately busy system can easily be expected to process 10**6 packets per day. Hence, any unnecessary overhead might cause throughput problems.
It is an object of the invention to provide an improved IP packet filtering system and method.
It is a further object of the invention to provide a very fast IP packet filtering system and method.